package com.renjun.smweb.service.SchoolService;


import com.alibaba.fastjson.JSONObject;
import com.renjun.smweb.exceptions.BaseException;
import com.renjun.smweb.exceptions.BaseException;

import java.io.IOException;
import java.sql.SQLException;
import java.util.Map;

/**
 * Created by huamin on 2017/2/21.
 * 学校管理接口
 */
public interface SchoolService {

    /**
     * 新增学校 /添加学校
     * @param params params:{}
     * @return json
     */
    JSONObject addSchool(Map<String,Object> params) throws Exception;

    /**
     * 注销学校 /删除学校
     * @param params params:{}
     * @return json
     */
    JSONObject cancelSchool(Map<String,Object> params) throws BaseException, SQLException;

    /**
     * 恢复学校/学校恢复
     * @param params params:{}
     * @return json
     */
    JSONObject recoverSchool(Map<String,Object> params) throws BaseException, SQLException;

    /**
     * 修改学校 /编辑学校
     * @param params params:{}
     * @return json
     */
    JSONObject modifySchool(Map<String,Object> params) throws BaseException, SQLException;

    /**
     * 查看学校详情 /学校详细信息
     * @param params params:{}
     * @return json
     */
    JSONObject getSchool(Map<String,Object> params) throws BaseException, SQLException;

    /**
     * 查询学校 /学校列表
     * @param params params:{}
     * @return json
     */
    JSONObject querySchool(Map<String,Object> params) throws BaseException, SQLException;

    /**
     * 导出学校/学校导出
     * @param params params{}
     * @return json
     * @throws BaseException
     * @throws SQLException
     * @throws IOException
     */
    JSONObject expSchool(Map<String,Object> params) throws BaseException, SQLException, IOException;

    /**
     * 根据区县获取学校
     * @param params params:{}
     * @return json
     * @throws BaseException
     */
    JSONObject getSchoolByDistrict(Map<String,Object> params) throws BaseException, SQLException;

    /**
     * 根据区县获取学校
     * @param params params:{}
     * @return json
     * @throws BaseException
     */
    JSONObject getSchoolByDistrictRedis(Map<String,Object> params) throws BaseException, SQLException;

    /**
     * 查询学校片区
     * @param params params:{}
     * @return json
     * @throws BaseException
     */
    JSONObject querySchoolDistrict(Map<String,Object> params) throws BaseException, SQLException;
    
}
